package com.wxxymaker.service;

import com.wxxymaker.model.entity.Shop;
import com.wxxymaker.model.entity.Stage;
import org.springframework.data.domain.Page;

import java.util.List;

/**
 * @Author: Soft
 * @Date: 2018/5/3 22:52
 * @Desc: 打分阶段业务层接口
 */
public interface StageService extends BaseService<Stage> {

    /**
     * 阶段信息分页查询
     * @param pageNo  页码
     * @param size    每页条数
     */
    Page<Stage> page(Integer pageNo, Integer size);

    /**
     * 更新指定阶段的结束时间
     * @param id 阶段id
     */
    boolean updateEndTime(Integer id);

    /**
     * 每次增加一个人数
     * @param id 阶段id
     */
    boolean addUserSum(Integer id);

    /**
     * 获取所有阶段
     */
    List<Stage> findAll();

    /**
     * 通过阶段获取该阶段下的所有符合条件的公司
     * @param stage 阶段
     * @return 符合条件的公司
     */
    List<Shop> getShops(Stage stage);

    /**
     * 根据阶段和公司，统计这个公司在该阶段下四种等级评分的记录数
     * @param stage  阶段
     * @param shop   公司
     * @return  记录数列表，按照从低到高 差---优
     */
    long[] countStarNumForShop(Stage stage, Shop shop);
}
